home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 August / CHIP_CD_2004-08.iso / software / amc / amc_install.exe / {app} / Scripts / Port.hu.ifs < prev    next >
Encoding:
Text File  |  2004-03-20  |  3.6 KB  |  119 lines

  1. // GETINFO SCRIPTING
  2. // Imports hungarian titles and description from port.hu site
  3.  
  4. (***************************************************
  5.  *  Imports hungarian titles and description from: *
  6.  *  www.port.hu                                    *
  7.  *                                                 *
  8.  *  (c) 2002 Andor Szathmßri  szaki@levele.hu      *
  9.  *  www.szathmari.hu                               *
  10.  *                                                 *
  11.  *  For use with Ant Movie Catalog 3.4.0           *
  12.  *  www.antp.be/software/moviecatalog              *
  13.  *                                                 *
  14.  *  This program is free software; you can         *
  15.  *  redistribute it and/or modify it under the     *
  16.  *  terms of the GNU General Public License as     *
  17.  *  published by the Free Software Foundation;     *
  18.  *  either version 2 of the License, or (at your   *
  19.  *  option) any later version.                     *
  20.  ***************************************************)
  21. program IMDb;
  22.  
  23. var
  24.   MovieName: string;
  25.   BeginPos, EndPos: Integer;
  26.  
  27. function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
  28. var
  29.   i: Integer;
  30. begin
  31.   result := -1;
  32.   if StartAt < 0 then
  33.     StartAt := 0;
  34.   for i := StartAt to List.Count-1 do
  35.     if Pos(Pattern, List.GetString(i)) <> 0 then
  36.     begin
  37.       result := i;
  38.       Break;
  39.     end;
  40. end;
  41.  
  42. procedure AnalyzePage(Address: string);
  43. var
  44.   Page: TStringList;
  45.   LineNr: Integer;
  46. begin
  47.   Page := TStringList.Create;
  48.   Page.Text := GetPage(Address);
  49.   if pos('Nincs ilyen cφm√ film.', Page.Text) = 0 then
  50.   begin
  51.     AnalyzeMoviePage(Page)
  52.   end else showmessage('Nincs ilyen cφm√ film.')
  53.   Page.Free;
  54. end;
  55.  
  56. procedure AnalyzeMoviePage(Page: TStringList);
  57. var
  58.   Line, Temp, Value, Value2, FullValue: string;
  59.   LineNr: Integer;
  60.   BeginPos, EndPos: Integer;
  61. begin
  62.  
  63.   //hungarian title
  64.   LineNr := FindLine('/pls/ci/cinema.index_htm?', Page, 0);
  65.   if LineNr > -1 then
  66.   begin
  67.     Line := Page.GetString(LineNr);
  68.     BeginPos := pos('<strong>', Line)+8;
  69.     EndPos := pos('</strong>', Line);
  70.     Value := copy(Line, BeginPos, EndPos - BeginPos);
  71.     SetField(fieldTranslatedTitle, Value);
  72.   end;
  73.   
  74.   // Hungarian Genre
  75.   LineNr := FindLine('/pls/ci/cinema.index_htm?', Page, 0);
  76.   if LineNr > -1 then
  77.   begin
  78.     Line := Page.GetString(LineNr);
  79.     BeginPos := pos('size="2"> (', Line)+11;
  80.     EndPos := pos(') </font>', Line);
  81.     Temp := copy(Line, BeginPos, EndPos - BeginPos);
  82.     BeginPos := 0;
  83.     EndPos := pos(', ', Temp)-1;
  84.     Value := copy(Temp, BeginPos, EndPos - BeginPos);
  85.     SetField(fieldCategory, Value);
  86.   end;
  87.   
  88.   // Hungarian Description
  89.   LineNr := FindLine('<FONT FACE="Tahoma, Arial CE, Arial" SIZE="1">', Page, 0);
  90.   if LineNr > -1 then
  91.   begin
  92.     Line := Page.GetString(LineNr+1);
  93.     Value := copy(Line, 0, 1024);
  94.     if pos('Amennyiben', Line) = 0 then
  95.     SetField(fieldDescription, Value);
  96.  
  97.   end;
  98.   DisplayResults;
  99. end;
  100.  
  101. begin
  102.   if CheckVersion(3,4,0) then
  103.   begin
  104.     MovieName := GetField(fieldOriginalTitle);
  105.     if MovieName = '' then
  106.       MovieName := GetField(fieldTranslatedTitle);
  107.     if Input('Port.hu Import', 'Enter the title of the movie:', MovieName) then
  108.     begin
  109.       //imdb title filter (, The; , A)
  110.       EndPos := pos(', The', MovieName);
  111.       if EndPos = 0 then EndPos := pos(', A', MovieName);
  112.       if EndPos > 0 then MovieName := copy(MovieName, 0, EndPos-1);
  113.       AnalyzePage('http://www.port.hu/pls/ci/cinema.film_list?i_film_title='+UrlEncode(MovieName));
  114.     end;
  115.   end else
  116.     ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.4.0)');
  117. end.
  118.  
  119.